package 构建模式;

import testJ.test1;

/**
 * 将一个类的接口转换成客户希望的另一个接口，Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作
 * 适配器模式更像一种解耦的方式
 * 如一个类的输出为十进制，如果我们需要输出为十六进制，就要多写一个接口，如果需要三十二进制，就要在写一个接口，这可以就会让这个类臃肿，可以专门写一个类来适配这个问题
 *类的适配，通过断承实现
 */
public class 适配器模式_类适配 {
    public static void main(test1[] args) {
        Adapter1 adapter = new Adapter1();
        System.out.println("转换后电压："+adapter.output5v());
        //缺点是对类进行了污染，适配器类也能调用父类的方法，容易造成误用
    }
}

//电压
class Adaptee1{
    public int output220v(){
        return 220;
    }
}

interface Target1{
    int output5v();
}

class Adapter1 extends Adaptee1 implements Target1{
    @Override
    public int output5v() {
        int i = output220v();
        //对i进行处理.............
        return 5;
    }
}